package AbstractFactoryMethodPattern.FactoryMethodExample.framework;

public abstract class Factory {
    public final Product create(String type) {
        Product p = createProduct(type);
        registerProduct(p);
        return p;
    }

    public abstract Product createProduct(String type);

    public abstract void registerProduct(Product product);
}
